Link aggregation is a commonly known technique for interconnecting network nodes, such as routers or switches via multiple network cables or ports, which are connected in parallel for the main purpose of increasing the link speed beyond the limits of any one single cable or port. In addition, link aggregation may be used for the purpose of increasing the redundancy for higher availability. Due to the use of parallel links, improvements of the transmission performance may be obtained using existing hardware, since, at least to some extent, no upgrading to a higher-capacity link technology will be necessary.
Most implementations now conform to what used to be clause 43 of IEEE 802.3-2005 Ethernet standard, usually still referred to by its working group name of “IEEE 802.3ad”. The definition of link aggregation has since moved to a standalone IEEE 802.1AX standard.
Link aggregation commonly used today is restricted to base its aggregation on session load, thereby taking no consideration to the actual load of the available transport links. By applying such an aggregation strategy, there is a great risk of uneven bandwidth load on individual transport links in the link aggregation group (LAG), and, as a consequence poor utilization of the total bandwidth which is available for the LAG.
A typical scenario for applying link aggregation according to the prior art is illustrated in FIG. 1, where two network nodes 100,101, which may typically be switches or routers, are interconnected via a plurality of transport links, in the present case three different links, 102a, 102b, 102c, which together form a Link Aggregation Group (LAG) 103, or more specifically an Ethernet LAG. For sessions fed to network node 100 via link 104, a link aggregation is used when the packets of the sessions are to be transmitted to network node 101 over any of the transport links of the LAG 103 in an efficient way.
When trying to optimize the load balancing over the available transport links in solutions available today, link aggregation is based solely on session load, thereby taking no consideration to the actual load of the available transport links. A typical scenario for session load balancing of a LAG according to the prior art is illustrated in FIG. 2, where packets of incoming sessions are to be distributed to any of the transport links of LAG 103.
Assuming in the present example that a total of 3000 sessions are received on a transport link 104, while, after a session load balancing has been commenced, each transport link 102a,102b,102c is used for transportation of 1000 sessions. A conventional link aggregation will force sessions with the same source and destination to use the same transport link. However, since each session often use different amounts of bandwidth, and may also use different packet sizes, the actual load of each transport link will differ considerably, such that e.g. the load of transport link 102a is 10%, the load of transport link 102b is 30%, while link 102c have the remaining load of 60%.
By applying a session load balanced link aggregation strategy, there is obviously a great risk of obtaining an uneven bandwidth load on individual transport links of the LAG, and, as a consequence, of obtaining poor utilization of the total bandwidth which is available for the LAG.